[セッションレポート][ANA211] BigQueryとPaLMによる次世代のデータ分析の到来に備えよう! #GoolgeCloudNext
データアナリティクス事業本部 機械学習チームの鈴木です。
Google Cloud Next '23のセッション『Next-generation data analytics with BigQuery and PaLM』を視聴したので感想をまとめました。
セッション概要
We are bringing Google’s research and innovations in AI directly to your data in BigQuery. Join this session to learn about BigQuery’s built-in ML capabilities, such as model inferences, and how to use Vertex AI’s foundational large language models (LLMs) directly within BigQuery to simplify advanced use cases such as sentiment analysis, entity extraction, and many more. In this session, you'll also learn and experience a live demo of how Faraday, a customer prediction platform, is leveraging the power of foundational LLMs in BigQuery.
※ Google Cloud Next '23セッションページより引用
セッション発表自体は3つのパートに分かれていました。
最初の『01 Introduction to Google's Data and AI Cloud』ではGoogle Cloudのデータ・AIの枠組みに加え、新しく登場したBigQueryのインターフェースについて紹介がありました。『02 BigQuery Innocations using Vertex AI Foundational Models』ではBigQueryからPaLMを利用するための方法の解説やロードマップについて言及されました。『03 Customer Story and Demo』ではFaraday社でのユースケースについて紹介頂きました。
ポイントと感じた点
BigQueryの新しい分析インターフェースについて
『01 Introduction to Google's Data and AI Cloud』では以下の2つの分析インターフェースに関する新しい発表がされました。
- BigQuery Studio(プレビュー)
- BigQuery DataFrames(BigFrames Pythonパッケージ)
BigQuery Studio
BigQuery Studioにより、 SQL・ノートブックによるプログラミング言語など様々な方法でのBigQueryへのアクセスが一つのワークスペースに統合されます。
以下の記事にも紹介があります。現在はプレビュー段回で、ページ最下部よりサインアップフォームへのリンクが提供されています。
プレビュー中のColab EnterpriseのPythonノートブックとも統合されており、後に記載するBigQuery DataFramesによるアクセスやノートブックの管理も同じワークスペースで行うことができます。
以下はノートブックの例です。
ほかにもVertex AIランタイムへの接続や、多くのデータガバナンス・セキュリティの機能を利用できるようです。
BigQuery DataFrames
BigFramesライブラリにより、BigQueryのデータにアクセスすることができるようになりました。
上記スライドによると、bigframes.Pandas
ではPandasと、bigframes.ML
ではscikit-learnと同様のAPIで操作を行うことができるようです。
以下は紹介された利用イメージです。Pandasのデータフレームと同じような操作が可能なことが分かります。
ライブラリに関する詳細は以下のドキュメントに記載があります。
BigQuery StudioのPythonノートブックでも利用することで、SQL・Pythonの2つの方法でデータを活用できるようになりますね。
BigQeuryからのPaLMの利用
BigQeuryでは直近でML.GENERATE_TEXT
関数が一般提供開始しておりますが、『02 BigQuery Innocations using Vertex AI Foundational Models』ではBigQueryからVertex AIのLLMであるtext-bisonの使用例が紹介されました。
個人的に特に面白いなと思ったのは、ML.GENERATE_TEXT_EMBEDDING関数とML.DISTANCE関数を使ったBigQueryでのベクトル検索の例です。
※ ML.GENERATE_TEXT_EMBEDDING関数は記事執筆時点ではプレビューです。
まず、ML.GENERATE_TEXT_EMBEDDING関数で文書のベクトルを作成しておき、ML.DISTANCE関数で入力に関連する項目を5件取得しています。BigQueryのSQLの実装でプロンプトのカスタマイズを実現したい際には参考になる実装と思います。
ロードマップの紹介もありましたが、その中にはベクトルインデックス機能の提供も含まれていました。
BigQueryからPaLMを利用した改善事例
『03 Customer Story and Demo』では、Faraday社で利用していた従来の実装をLLMを利用するように変更した結果について紹介がありました。
以下の2つのケースがありました。
- 感情分析
- コンテンツ生成
結果としてはLLMを使った方が良くなったそうです。
以下で紹介されていた個別の新旧比較について触れておきます。
感情分析
LLMに変更することで複数の観点に対する感情を分析・出力しやすくなったようです。プロンプトにどのようなキーのJSONで出力して欲しいか指定することで生成した結果をBigQuery側でさらに加工することもできますね。
コンテンツ生成
APIとしてLLMを使ったコンテンツ生成機能を提供し、Pythonを使って問い合わせする形としていたところ、BigQueryのML.GENERATE_TEXT
関数を使った方法に置き換える例を紹介頂きました。従来の実装だとAPIの運用も発生しますし、問い合わせをするためのPython関数の準備も必要になるため、BigQueryの仕組みに任せることができるのは非常に強力に思いました。
最後に
Google Cloud Next '23のセッション『Next-generation data analytics with BigQuery and PaLM』を視聴した感想・まとめでした。
BigQuery StudioやBigQuery DataFramesのようなBigQueryの新しいインターフェースの登場で、BigQueryがより便利になっていくなと感じました。また、BigQeuryからのPaLMの利用例をかなりたくさんみることができ、直近でどんどん出てきている推論用関数を使ったインテグレーションのイメージをよりよく持つことができました。
直近で満を持してML.GENERATE_TEXT関数が一般提供を開始しましたが、BigQueryにおけるLLMの利用はとても興味を持っております。個人的にはML.GENERATE_TEXT_EMBEDDING関数の一般提供開始がとても楽しみです。BigQueryとPaLMを使って、これまであった課題を新しい方法でどんどん解決していけるようになるので、今後がますます楽しみですね!